package cn.yunyichina.provider.reservation.service.impl;

import java.util.List;

import javax.annotation.Resource;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

import com.alibaba.fastjson.JSONObject;

import cn.yunyichina.provider.framework.utils.UUIDUtil;
import cn.yunyichina.provider.reservation.dao.ItemTypeDao;
import cn.yunyichina.provider.reservation.entity.ItemType;
import cn.yunyichina.utils.convert.JsonUtils;

/**
 * 项目
 */
@Service("itemtypeServiceImpl")
public class ItemTypeServiceImpl {
	
	private static final Logger logger = LoggerFactory.getLogger(ItemTypeServiceImpl.class);

    @Resource
    private ItemTypeDao itemTypeDao;


    /**
     * 后台管理：显示项目列表
     *
     * @param strJson id,name,valid_flag
     * @return 如果item_type为null,则查询有效的类型;如果item_type=10，则查询所有类型
     */
    public List<ItemType> listItemType(String strJson) {
    	
    	logger.debug("listItemType:"+strJson);
    	
    	ItemType itemType = JsonUtils.parseObject(strJson,ItemType.class);
    	if (itemType.getValidFlag() == null) {
    		itemType.setValidFlag(1);
    	}
    	else if (itemType.getValidFlag() == 10) {
    		itemType.setValidFlag(null);
    	}
        return itemTypeDao.select(itemType);
    }

   
    public ItemType getItemType(String strJson) {
        JSONObject jsonObj = JsonUtils.parseObject(strJson);
        return itemTypeDao.selectById(jsonObj.getString("id"));
    }

    public ItemType addItemType(String strJson) {
        ItemType item = JsonUtils.parseObject(strJson, ItemType.class);
        item.setId(UUIDUtil.get32UUID());
        itemTypeDao.insert(item);

        item = itemTypeDao.selectById(item.getId());
        return item;
    }

    public void updateItemType(String strJson) {
        ItemType item = JsonUtils.parseObject(strJson, ItemType.class);
        itemTypeDao.update(item);
    }

    public void delItemType(String strJson) {
        ItemType item = JsonUtils.parseObject(strJson, ItemType.class);
        item = itemTypeDao.selectById(item.getId());
        itemTypeDao.update(item);
    }

   
}
